<?php
namespace app\index\controller;
use think\Controller;
use think\Image;
use think\Request;
class Index extends Controller
{
    // 文件上传表单
    public function index()
    {
        include EXTEND_PATH . 'phpqrcode/phpqrcode.php';
        include EXTEND_PATH . 'wxpay/lib/WxPay.Api.php';
        include EXTEND_PATH . 'wxpay/example/WxPay.NativePay.php';
        include EXTEND_PATH . 'wxpay/example/log.php';
         $data = input('post.');
         $name= $data['name'];
         $trade_no=date("YmdHis");
         $price= $data['price'];
         $product_id=rand(1,1000);
         $datas = [
        'name' =>  $name,
        'trade_no' =>  $trade_no,
        'price' => $price,
        'product_id' => $product_id,    
        ];
        $ids = model('Deal')->add($datas);
        $input = new \WxPayUnifiedOrder();//统一下单输入对象
        $notify = new \NativePay();

        $input->SetBody($name);//设置商品或支付单简要描述

        $input->SetAttach("test22");//* 设置附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据

        $input->SetOut_trade_no($trade_no);//设置商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号

        $input->SetTotal_fee($price);//设置订单总金额，单位为分，只能为整数，详见支付金额

        $input->SetTime_start(date("YmdHis"));//设置订单生成时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。详见时间规则

        $input->SetTime_expire(date("YmdHis", time() + 600));//设置订单失效时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。详见时间规则

        $input->SetGoods_tag("test");//设置商品标记，代金券或立减优惠功能的参数，说明详见代金券或立减优惠

        $input->SetNotify_url("http://weixinzhifu.dezhouyilian.com/index/pay/notify");//设置接收微信支付异步通知回调地址
        $input->SetTrade_type("NATIVE");//设置取值如下：JSAPI，NATIVE，APP，详细说明见参数规定

        $input->SetProduct_id($product_id);//设置商品ID

        $result = $notify->GetPayUrl($input);//* 生成直接支付url，支付url有效期为2小时,模式

        $url2 = $result["code_url"];
        
        // 设置保存二维码文件路径
        $id=time();
        $qrcode = ROOT_PATH . 'public/static/erweima/'.$id.'.png';
        
         //二维码带的参数$url
         $url = $url2;
         
         //生成二维码的函数
        \QRcode::png($url, $qrcode, 'Q');
         $erweima ='/static/erweima/'.$id.'.png';

        // 获取二维码的图片信息
         return $this->fetch('', [
            'erweima' => $erweima,
            'ids' => $ids,

        ]);
    }  

    public function deal()
    {    
       
         return $this->fetch();
    }
    public function payStatus() {
        $id = input('post.id', 0, 'intval');
        if(!$id) {
            return 'id错误';
        }

        //判定是否登录
        $order =model("Deal")->get($id);

        if($order->pay_status == 1) { // 支付成功
            return show(1, 'success');
        }
        return show(0, 'error');
    }
     public function paysuccess()
    {

        return $this->fetch();
        
    }
}
